package RRHH_Modelo;

import Conexion.Conexion;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;

import java.util.Date;

public class RHH_MODIFICACION {

    private int ID;
    private String DESCRIPCION;
    private Date FECHA;
    private int CANTIDAD_MESES;
    private int ID_DEUDA;
    private Conexion con = null;

    public RHH_MODIFICACION(Conexion con) {
        this.con = con;
    }

    public RHH_MODIFICACION(int ID, String DESCRIPCION, Date FECHA, int CANTIDAD_MESES, int ID_DEUDA) {
        this.ID = ID;
        this.DESCRIPCION = DESCRIPCION;
        this.FECHA = FECHA;
        this.CANTIDAD_MESES = CANTIDAD_MESES;
        this.ID_DEUDA = ID_DEUDA;
    }

    public int Insertar() throws SQLException {
        String consulta = "insert into BROKER.RHH_MODIFICACION (ID, DESCRIPCION, FECHA, CANTIDAD_MESES, ID_DEUDA) VALUES (" + ID + ",'" + DESCRIPCION + "',to_date('" + getFECHA() + "','dd/MM/yyyy')," + CANTIDAD_MESES + "," + ID_DEUDA + ")";
        con.EjecutarSentencia(consulta);
        consulta = "select BROKER.RHH_MODIFICACION_SEQ.currval as ID from dual";
        ResultSet rs = con.EjecutarConsulta(consulta);
        rs.next();
        return rs.getInt("ID");
    }

    public boolean EliminarXid() throws SQLException {
        String consulta = "delete from BROKER.RHH_MODIFICACION where ID= " + getID();
        con.EjecutarSentencia(consulta);
        return true;
    }

    public List<RHH_MODIFICACION> Todos() throws SQLException {
        String consulta = "select * from BROKER.RHH_MODIFICACION";
        ResultSet rs = con.EjecutarConsulta(consulta);
        List<RHH_MODIFICACION> lista = Cargar(rs);
        return lista;
    }
    public List<RHH_MODIFICACION> Buscar(int id) throws SQLException {
        String consulta = "select * from BROKER.RHH_MODIFICACION where ID_DEUDA = "+id;
        ResultSet rs = con.EjecutarConsulta(consulta);
        List<RHH_MODIFICACION> lista = Cargar(rs);
        return lista;
    }

    public List<RHH_MODIFICACION> Cargar(ResultSet rs) throws SQLException {
        List<RHH_MODIFICACION> lista = new ArrayList<RHH_MODIFICACION>();
        while (rs.next()) {
            RHH_MODIFICACION objeto = new RHH_MODIFICACION(con);
            objeto.setID(rs.getInt("ID"));
            objeto.setDESCRIPCION(rs.getString("DESCRIPCION"));
            objeto.setFECHA(rs.getDate("FECHA"));
            objeto.setCANTIDAD_MESES(rs.getInt("CANTIDAD_MESES"));
            objeto.setID_DEUDA(rs.getInt("ID_DEUDA"));
            lista.add(objeto);
        }
        return lista;
    }

    public int getID() {
        return ID;
    }

    public void setID(int ID) {
        this.ID = ID;
    }

    public String getDESCRIPCION() {
        return DESCRIPCION;
    }

    public void setDESCRIPCION(String DESCRIPCION) {
        this.DESCRIPCION = DESCRIPCION;
    }

    public String getFECHA() {
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        return sdf.format(FECHA);
    }

    public void setFECHA(Date FECHA) {
        this.FECHA = FECHA;
    }

    public int getCANTIDAD_MESES() {
        return CANTIDAD_MESES;
    }

    public void setCANTIDAD_MESES(int CANTIDAD_MESES) {
        this.CANTIDAD_MESES = CANTIDAD_MESES;
    }

    public int getID_DEUDA() {
        return ID_DEUDA;
    }

    public void setID_DEUDA(int ID_DEUDA) {
        this.ID_DEUDA = ID_DEUDA;
    }

    public Conexion getCon() {
        return this.con;
    }

    public void setCon(Conexion con) {
        this.con = con;
    }
}
